1. Field of the Invention
The present invention relates to computing systems, and more particularly, to managing asynchronous event notifications (“AENs”).
2. Related Art
Conventional computing systems typically include several functional components. These components may include a central processing unit (CPU), memory, input/output (“I/O”) devices, and streaming storage devices (for example, tape drives). In most conventional computing systems, a memory (or main memory) may be coupled to the CPU via a system bus or a local memory bus. Generally, the memory is used to provide the CPU access to data and/or program information that is stored in the memory at execution time. Typically, the memory is composed of random access memory (RAM) circuits.
Conventional computing systems, often referred to as host systems, are used for various applications and in multiple environments, including networks, for example, storage area networks (“SANs”). Generally, a SAN is a high-speed sub-network of shared storage devices, for example, disks and tape drives. Typically, SANs are used to store and access data.
Host systems typically communicate with storage systems via a host bus adapter (“HBA”, also referred to as a “controller” and/or “adapter”) using an interface, for example, the “PCI” (or PCI-X/PCI-Express) bus interface.
Asynchronous event notifications are sent by HBAs or other hardware devices to notify software applications of certain events. For example, if a network cable is disconnected from a HBA, the HBA may send an AEN to all applications notifying them of the event (i.e. network cable disconnect).
The term software application as used herein includes software programs running on host systems or otherwise. Software applications may include management software used by a host system to monitor network events; diagnostic software programs used to diagnose and fix hardware/software problems; and the like.
Typically, information passed by AENs use a data structure format. The data structure format of the AEN is used by plural software applications to understand AEN content and, when needed, to respond to the AEN.
If a software application does not have the correct version of the data structure for an AEN, then the AEN information may be difficult to decipher and the software application may fail to appropriately respond. If the format of the data structure changes at any time, all software applications sharing the AENs should be upgraded so that they continue to function properly. Conventional computing systems do not provide an efficient way to upgrade software applications in conjunction with changes to AEN data structure formats.
Therefore, what is needed is a method and system for managing an AEN.